package com.etl.dataflow.executor.connectivity;

import cn.hutool.core.util.StrUtil;
import com.etl.dataflow.common.entity.JdbcProperties;
import com.etl.dataflow.common.exception.EtlException;

/**
 * JDBC配置类 可获取数据库类型
 */
public class TypedJdbcProperties extends JdbcProperties {
    public DbType getDbType() {
        String jdbcDriver = super.getJdbcDriver();
        if (StrUtil.isBlank(jdbcDriver)) {
            throw new EtlException("数据库驱动全类名为空，无法获取数据库类型");
        }
        if (jdbcDriver.contains("mysql")) {
            return DbType.MYSQL;
        }
        if (jdbcDriver.contains("oracle")) {
            return DbType.ORACLE;
        }
        throw new EtlException("尚不支持的数据库类型: " + jdbcDriver);
    }
}
